package com.tianhua.javs.client.service;

import com.tianhua.javs.client.bean.DomainModelBean;
import com.tianhua.javs.client.bean.JavsScriptMethodBean;
import com.tianhua.javs.client.bean.context.TranslateResultContext;
import com.tianhua.javs.client.model.MethodResultModel;

import java.util.List;
import java.util.Map;

/**
 * Description:
 * date: 2022/2/9
 *
 * @author shenshuai
 * @version 1.0.0
 * @since JDK 1.8
 */
public interface JavsScriptEngine {

    /**
     * javs业务脚本伪代码 解析入口
     * @param domainModelBean 由领域模型plant uml文档转换过来的领域上下文
     * @param javsScriptFileContentMap  全部的javs 脚本文件内容 key:javs脚本文件名/java类名 文件名也是业务服务类名
     *                                  value:javs脚本文件内容
     * @return
     */
    List<TranslateResultContext> exeParse(DomainModelBean domainModelBean, Map<String,List<String>> javsScriptFileContentMap);

}
